シンプルなUIで軽量な画像生成AIの「Fooocus」をEC2上に構築して使ってみた
こんにちは、ゲームソリューション部のsoraです。
今回は、シンプルなUIで軽量な画像生成AIの「Fooocus」をEC2上に構築して使ってみたことについて書いていきます。
前提
- EC2にてG系インスタンスを使用するため、クォータの引き上げは実施済みであること
EC2の起動
まずEC2インスタンスを起動します。
使用するAMIは、Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.3.1 (Amazon Linux 2)
です。
インスタンスタイプはg6.xlarge
、EBSは45GiBにします。
Fooocusのインストール
次に以下を参考にFooocusをインストールします。
今回はvenvなどの仮想環境は使用せずに直接インストールしていきます。
Python 3.10が必要になるため、pyenvをインストールしています。
Hugging Faceからモデルのインストールもされていて、個別でインストールしなくてもデフォルトで使用可能です。
$ sudo yum update
$ sudo yum install git python3 wget gperftools-libs libglvnd-glx
$ python -V
Python 3.12.7
# ⇒python 3.10にするためpyenvのインストール
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ source ~/.bashrc
# pyenvでPython 3.10のインストール
$ pyenv install --list
$ pyenv install 3.10.15
$ pyenv global 3.10.15
# バージョンの確認
$ python -V
Python 3.10.15
$ git clone https://github.com/lllyasviel/Fooocus.git
$ cd Fooocus
$ pip3 install -r requirements_versions.txt
準備ができたため起動します。
起動後は、http://{パブリックIPアドレス}:7865
でアクセスできます。
$ python3 entry_with_update.py --listen
ぱっと見てStable Diffusion Web UIと比較して、設定項目が少なくてシンプルに見えます。
画像生成
起動できたため、適当なプロンプトを入力して実行してみると画像生成ができました。
画像を選択してダウンロードすることも可能です。
各種機能
チェックボックスにチェックを入れると各種設定が可能です。
Input Imageにて、画像をアップロードして編集や新たな画像の生成をすることが可能です。
Enhanceでは、生成された画像の解像度を変えたり、バリュエーションを作ったり、色味の調整をすることができます。
Advancedでは、各種細かな設定が可能です。
Settingsでは、画像生成のパフォーマンスや速度の変更、生成枚数やダウンロード時のファイル形式を指定することが可能です。
Stylesでは、画像のイメージを変えることが可能です。
試しにAnime風のものを選んでみると、以下のように最初に生成された画像と比較するとアニメ調になりました。
Modelsでは、LoRAの調整をすることが可能です。
その他機能として、History Logでは生成した時に使用したモデルやプロンプトなどの設定値を確認することができます。
設定周りのドキュメント
- Inpaint or Outpaint
https://github.com/lllyasviel/Fooocus/discussions/414 - Image Prompts
https://github.com/lllyasviel/Fooocus/discussions/557 - Variation/Upscale
https://github.com/lllyasviel/Fooocus/discussions/390 - Describe
https://github.com/lllyasviel/Fooocus/discussions/1363 - Enhance
https://github.com/lllyasviel/Fooocus/discussions/3281 - Advanced
https://github.com/lllyasviel/Fooocus/discussions/117
最後に
今回は、シンプルなUIで軽量な画像生成AIの「Fooocus」をEC2上に構築して使ってみたことを記事にしました。
どなたかの参考になると幸いです。